7 research outputs found

    Beyond Object-Oriented Software Development

    Get PDF
    Non

    Generative Artificial Intelligence for Software Engineering -- A Research Agenda

    Full text link
    Generative Artificial Intelligence (GenAI) tools have become increasingly prevalent in software development, offering assistance to various managerial and technical project activities. Notable examples of these tools include OpenAIs ChatGPT, GitHub Copilot, and Amazon CodeWhisperer. Although many recent publications have explored and evaluated the application of GenAI, a comprehensive understanding of the current development, applications, limitations, and open challenges remains unclear to many. Particularly, we do not have an overall picture of the current state of GenAI technology in practical software engineering usage scenarios. We conducted a literature review and focus groups for a duration of five months to develop a research agenda on GenAI for Software Engineering. We identified 78 open Research Questions (RQs) in 11 areas of Software Engineering. Our results show that it is possible to explore the adoption of GenAI in partial automation and support decision-making in all software development activities. While the current literature is skewed toward software implementation, quality assurance and software maintenance, other areas, such as requirements engineering, software design, and software engineering education, would need further research attention. Common considerations when implementing GenAI include industry-level assessment, dependability and accuracy, data accessibility, transparency, and sustainability aspects associated with the technology. GenAI is bringing significant changes to the field of software engineering. Nevertheless, the state of research on the topic still remains immature. We believe that this research agenda holds significance and practical value for informing both researchers and practitioners about current applications and guiding future research

    Socially inspired algorithms for the traveling thief problem

    No full text
    Many real-world problems are composed of two or more problems that are interdependent on each other. The interaction of such problems usually is quite complex and solving each problem separately cannot guarantee the optimal solution for the overall multi-component problem. In this paper we experiment with one particular 2-component problem, namely the Traveling Thief Problem (TTP). TTP is composed of the Traveling Salesman Problem (TSP) and the Knapsack Problem (KP).We investigate two heuristic methods to deal with TTP. In the first approach we decompose TTP into two sub-problems, solve them by separate modules/ algorithms (that communicate with each other), and combine the solutions to obtain an overall approximated solution to TTP (this method is called CoSolver ). The second approach is a simple heuristic (called density-based heuristic, DH) method that generates a solution for the TSP component first (a version of Lin-Kernighan algorithm is used) and then, based on the fixed solution for the TSP component found, it generates a solution for the KP component (associated with the given TTP). In fact, this heuristic ignores the interdependency between sub-problems and tries to solve the sub-problems sequentially. These two methods are applied to some generated TTP instances of different sizes. Our comparisons show that CoSolver outperforms DH specially in large instances

    Achieving Agility in IT Project Portfolios: A Systematic Literature Review

    No full text
    Over the past two decades, enterprise IT functions have enjoyed continued success in projects using agile development methods. However, the lack of ample empirical research on achieving portfolio level agility can potentially inhibit their ability to effectively govern IT investments while scaling agile practices to derive more significant benefits. This study examines the impact of agile delivery efforts on project portfolio management at the enterprise level and identifies approaches adopted to foster agility in portfolio practices. We conducted a systematic literature review to explore existing scientific knowledge around agile methods and portfolio management in an enterprise IT context. An analysis of the 21 primary studies found relevant to this research identified six portfolio management aspects impacted by agile delivery practices and a variety of approaches adopted to support them. While these identified portfolio management aspects guide practitioners on areas to focus on while scaling agile efforts across an enterprise, the specific practices/approaches observed present opportunities to consider within their respective organizational contexts. Portfolio processes need an exploratory focus to sense environmental change to support agility, utilize a systems-thinking approach for a holistic view of potential interactions within and across portfolio components, and consider the effect of existing organizational processes to support portfolio agility. This study contributes to academic knowledge by synthesizing current knowledge on how portfolio management contributes to IT agility while incorporating agile delivery efforts and by identifying a set of future research directions in this space
    corecore